/**
 * This is my code.
 *
 * $Id$
 */
package fi.jab.esb.config.xml;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Fs Message Filter Type</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#getDirectory <em>Directory</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#isErrorDelete <em>Error Delete</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorDirectory <em>Error Directory</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorSuffix <em>Error Suffix</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#getInputSuffix <em>Input Suffix</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#isPostDelete <em>Post Delete</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostDirectory <em>Post Directory</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostSuffix <em>Post Suffix</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.FsMessageFilterType#getWorkSuffix <em>Work Suffix</em>}</li>
 * </ul>
 * </p>
 *
 * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType()
 * @model extendedMetaData="name='fs-message-filter_._type' kind='empty'"
 * @generated
 */
public interface FsMessageFilterType extends EObject
{
  /**
   * Returns the value of the '<em><b>Directory</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * The file share that is monitored for incoming new files.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Directory</em>' attribute.
   * @see #setDirectory(String)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_Directory()
   * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
   *        extendedMetaData="kind='attribute' name='directory'"
   * @generated
   */
  String getDirectory();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getDirectory <em>Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Directory</em>' attribute.
   * @see #getDirectory()
   * @generated
   */
  void setDirectory(String value);

  /**
   * Returns the value of the '<em><b>Error Delete</b></em>' attribute.
   * The default value is <code>"true"</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						If true, the file will be deleted if an error occurs during processing. Note that in that case error-directory and
   * 						error-suffix have no effect.
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Error Delete</em>' attribute.
   * @see #isSetErrorDelete()
   * @see #unsetErrorDelete()
   * @see #setErrorDelete(boolean)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_ErrorDelete()
   * @model default="true" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
   *        extendedMetaData="kind='attribute' name='error-delete'"
   * @generated
   */
  boolean isErrorDelete();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#isErrorDelete <em>Error Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Error Delete</em>' attribute.
   * @see #isSetErrorDelete()
   * @see #unsetErrorDelete()
   * @see #isErrorDelete()
   * @generated
   */
  void setErrorDelete(boolean value);

  /**
   * Unsets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#isErrorDelete <em>Error Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isSetErrorDelete()
   * @see #isErrorDelete()
   * @see #setErrorDelete(boolean)
   * @generated
   */
  void unsetErrorDelete();

  /**
   * Returns whether the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#isErrorDelete <em>Error Delete</em>}' attribute is set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return whether the value of the '<em>Error Delete</em>' attribute is set.
   * @see #unsetErrorDelete()
   * @see #isErrorDelete()
   * @see #setErrorDelete(boolean)
   * @generated
   */
  boolean isSetErrorDelete();

  /**
   * Returns the value of the '<em><b>Error Directory</b></em>' attribute.
   * The default value is <code>"processed"</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						The file share to which the file will be moved after when an error occurs during processing.
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Error Directory</em>' attribute.
   * @see #isSetErrorDirectory()
   * @see #unsetErrorDirectory()
   * @see #setErrorDirectory(String)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_ErrorDirectory()
   * @model default="processed" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
   *        extendedMetaData="kind='attribute' name='error-directory'"
   * @generated
   */
  String getErrorDirectory();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorDirectory <em>Error Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Error Directory</em>' attribute.
   * @see #isSetErrorDirectory()
   * @see #unsetErrorDirectory()
   * @see #getErrorDirectory()
   * @generated
   */
  void setErrorDirectory(String value);

  /**
   * Unsets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorDirectory <em>Error Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isSetErrorDirectory()
   * @see #getErrorDirectory()
   * @see #setErrorDirectory(String)
   * @generated
   */
  void unsetErrorDirectory();

  /**
   * Returns whether the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorDirectory <em>Error Directory</em>}' attribute is set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return whether the value of the '<em>Error Directory</em>' attribute is set.
   * @see #unsetErrorDirectory()
   * @see #getErrorDirectory()
   * @see #setErrorDirectory(String)
   * @generated
   */
  boolean isSetErrorDirectory();

  /**
   * Returns the value of the '<em><b>Error Suffix</b></em>' attribute.
   * The default value is <code>".esbERROR"</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						The file suffix which will be added to the file name after an error occurs during processing.
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Error Suffix</em>' attribute.
   * @see #isSetErrorSuffix()
   * @see #unsetErrorSuffix()
   * @see #setErrorSuffix(String)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_ErrorSuffix()
   * @model default=".esbERROR" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
   *        extendedMetaData="kind='attribute' name='error-suffix'"
   * @generated
   */
  String getErrorSuffix();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorSuffix <em>Error Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Error Suffix</em>' attribute.
   * @see #isSetErrorSuffix()
   * @see #unsetErrorSuffix()
   * @see #getErrorSuffix()
   * @generated
   */
  void setErrorSuffix(String value);

  /**
   * Unsets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorSuffix <em>Error Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isSetErrorSuffix()
   * @see #getErrorSuffix()
   * @see #setErrorSuffix(String)
   * @generated
   */
  void unsetErrorSuffix();

  /**
   * Returns whether the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getErrorSuffix <em>Error Suffix</em>}' attribute is set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return whether the value of the '<em>Error Suffix</em>' attribute is set.
   * @see #unsetErrorSuffix()
   * @see #getErrorSuffix()
   * @see #setErrorSuffix(String)
   * @generated
   */
  boolean isSetErrorSuffix();

  /**
   * Returns the value of the '<em><b>Input Suffix</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						The file suffix used to filter files targeted for comsumption by the ESB (note: add the dot, so something like
   * 						'.esbIn').
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Input Suffix</em>' attribute.
   * @see #setInputSuffix(String)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_InputSuffix()
   * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
   *        extendedMetaData="kind='attribute' name='input-suffix'"
   * @generated
   */
  String getInputSuffix();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getInputSuffix <em>Input Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Input Suffix</em>' attribute.
   * @see #getInputSuffix()
   * @generated
   */
  void setInputSuffix(String value);

  /**
   * Returns the value of the '<em><b>Post Delete</b></em>' attribute.
   * The default value is <code>"true"</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						If true, the file will be deleted after it is processed. Note that in that case post-directory and post-suffix have
   * 						no effect.
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Post Delete</em>' attribute.
   * @see #isSetPostDelete()
   * @see #unsetPostDelete()
   * @see #setPostDelete(boolean)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_PostDelete()
   * @model default="true" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
   *        extendedMetaData="kind='attribute' name='post-delete'"
   * @generated
   */
  boolean isPostDelete();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#isPostDelete <em>Post Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Post Delete</em>' attribute.
   * @see #isSetPostDelete()
   * @see #unsetPostDelete()
   * @see #isPostDelete()
   * @generated
   */
  void setPostDelete(boolean value);

  /**
   * Unsets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#isPostDelete <em>Post Delete</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isSetPostDelete()
   * @see #isPostDelete()
   * @see #setPostDelete(boolean)
   * @generated
   */
  void unsetPostDelete();

  /**
   * Returns whether the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#isPostDelete <em>Post Delete</em>}' attribute is set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return whether the value of the '<em>Post Delete</em>' attribute is set.
   * @see #unsetPostDelete()
   * @see #isPostDelete()
   * @see #setPostDelete(boolean)
   * @generated
   */
  boolean isSetPostDelete();

  /**
   * Returns the value of the '<em><b>Post Directory</b></em>' attribute.
   * The default value is <code>"processed"</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						The file share to which the file will be moved after it is processed by the ESB
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Post Directory</em>' attribute.
   * @see #isSetPostDirectory()
   * @see #unsetPostDirectory()
   * @see #setPostDirectory(String)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_PostDirectory()
   * @model default="processed" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
   *        extendedMetaData="kind='attribute' name='post-directory'"
   * @generated
   */
  String getPostDirectory();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostDirectory <em>Post Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Post Directory</em>' attribute.
   * @see #isSetPostDirectory()
   * @see #unsetPostDirectory()
   * @see #getPostDirectory()
   * @generated
   */
  void setPostDirectory(String value);

  /**
   * Unsets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostDirectory <em>Post Directory</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isSetPostDirectory()
   * @see #getPostDirectory()
   * @see #setPostDirectory(String)
   * @generated
   */
  void unsetPostDirectory();

  /**
   * Returns whether the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostDirectory <em>Post Directory</em>}' attribute is set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return whether the value of the '<em>Post Directory</em>' attribute is set.
   * @see #unsetPostDirectory()
   * @see #getPostDirectory()
   * @see #setPostDirectory(String)
   * @generated
   */
  boolean isSetPostDirectory();

  /**
   * Returns the value of the '<em><b>Post Suffix</b></em>' attribute.
   * The default value is <code>".esbDone"</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						The file suffix which will be added to the file name after it is processed.
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Post Suffix</em>' attribute.
   * @see #isSetPostSuffix()
   * @see #unsetPostSuffix()
   * @see #setPostSuffix(String)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_PostSuffix()
   * @model default=".esbDone" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
   *        extendedMetaData="kind='attribute' name='post-suffix'"
   * @generated
   */
  String getPostSuffix();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostSuffix <em>Post Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Post Suffix</em>' attribute.
   * @see #isSetPostSuffix()
   * @see #unsetPostSuffix()
   * @see #getPostSuffix()
   * @generated
   */
  void setPostSuffix(String value);

  /**
   * Unsets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostSuffix <em>Post Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isSetPostSuffix()
   * @see #getPostSuffix()
   * @see #setPostSuffix(String)
   * @generated
   */
  void unsetPostSuffix();

  /**
   * Returns whether the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getPostSuffix <em>Post Suffix</em>}' attribute is set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return whether the value of the '<em>Post Suffix</em>' attribute is set.
   * @see #unsetPostSuffix()
   * @see #getPostSuffix()
   * @see #setPostSuffix(String)
   * @generated
   */
  boolean isSetPostSuffix();

  /**
   * Returns the value of the '<em><b>Work Suffix</b></em>' attribute.
   * The default value is <code>".esbInProcess"</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 						The file suffix used while the file is being process, so that another thread or process won't pick it up too.
   * 					
   * <!-- end-model-doc -->
   * @return the value of the '<em>Work Suffix</em>' attribute.
   * @see #isSetWorkSuffix()
   * @see #unsetWorkSuffix()
   * @see #setWorkSuffix(String)
   * @see fi.jab.esb.config.xml.XmlPackage#getFsMessageFilterType_WorkSuffix()
   * @model default=".esbInProcess" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
   *        extendedMetaData="kind='attribute' name='work-suffix'"
   * @generated
   */
  String getWorkSuffix();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getWorkSuffix <em>Work Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Work Suffix</em>' attribute.
   * @see #isSetWorkSuffix()
   * @see #unsetWorkSuffix()
   * @see #getWorkSuffix()
   * @generated
   */
  void setWorkSuffix(String value);

  /**
   * Unsets the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getWorkSuffix <em>Work Suffix</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #isSetWorkSuffix()
   * @see #getWorkSuffix()
   * @see #setWorkSuffix(String)
   * @generated
   */
  void unsetWorkSuffix();

  /**
   * Returns whether the value of the '{@link fi.jab.esb.config.xml.FsMessageFilterType#getWorkSuffix <em>Work Suffix</em>}' attribute is set.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return whether the value of the '<em>Work Suffix</em>' attribute is set.
   * @see #unsetWorkSuffix()
   * @see #getWorkSuffix()
   * @see #setWorkSuffix(String)
   * @generated
   */
  boolean isSetWorkSuffix();

} // FsMessageFilterType
